Google Cloud’s fourth core storage option
is Firestore. Firestore is a flexible,
horizontally scalable, NoSQL cloud database for mobile, web, and
server development. With Firestore, data is stored in documents
and then organized into collections. Documents can contain complex nested objects
in addition to subcollections. Each document contains a set of key-value
pairs. For example, a document to represent a user
has the keys for the firstname and lastname with the associated values. Firestore’s NoSQL queries can then be used
to retrieve individual, specific documents or to retrieve all the documents in a collection
that match your query parameters. Queries can include multiple, chained filters
and combine filtering and sorting options. They're also indexed by default, so query
performance is proportional to the size of the result set, not the dataset. Firestore uses data synchronization to update
data on any connected device. However, it's also designed to make simple,
one-time fetch queries efficiently. It caches data that an app is actively using,
so the app can write, read, listen to, and query data even if the device is offline. When the device comes back online, Firestore
synchronizes any local changes back to Firestore. Firestore leverages Google Cloud’s powerful
infrastructure: automatic multi-region data replication,
strong consistency guarantees, atomic batch operations,
and real transaction support. From a pricing perspective, you’re charged
for each document read, write, and delete that you perform with Firestore. Queries are also charged at the rate of one
“document read” per query, whether the query returns data or not. You’re also charged for the amount of storage
your data consumes and for certain kinds of network bandwidth used to access your data. Ingress is currently free, and in many cases
so is egress. Consult the pricing page for Firestore for
details, or you can use Google’s Billing Calculator to estimate prices for your particular
use case. In addition to the 10GiB of free network egress
per month between US regions, Firestore has a free quota per day of: 50,000 document reads, 20,000 document writes,
20,000 document deletes, and 1 GB of stored data. Charges only begin once the free daily quota
has been exceeded. This allows you to get started developing
with Firestore for very little, or even for free.